package com.cmcc.example.face.noSdk.common.vo.response;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * <name>FaceDetectResponseVO</name>
 * 人脸检测返回对象
 * </p >
 *
 * @author arabira
 * @version 1.0 2020-04-07
 * @since 1.0
 */
@Data
public class FaceDetectResponseVO implements Serializable {
    private static final long serialVersionUID = -1232460936223910409L;
    private String imageId;
    private int cost;
    private int faceNum;
    private List<FaceDetectDetail> faceDetectDetailList;

    @Data
    public class FaceDetectDetail implements Serializable {
        private static final long serialVersionUID = 5301976538610395988L;
        private String faceId;
        private FaceDetectRectangleArea faceDectectRectangleArea;
        private List<FaceDetectLandmarkArea> faceDetectLandmarkAreaList;
        private float faceScore;
        private float roll;
        private float pitch;
        private float raw;
        private int faceLandmarkNumber;
        private FaceDetectAttributes faceDetectAttributes;

    }

    @Data
    public class FaceDetectRectangleArea implements Serializable {
        private static final long serialVersionUID = -911814550338388683L;
        private float upperLeftX;
        private float upperLeftY;
        private float lowerRightX;
        private float lowerRightY;
    }

    @Data
    public class FaceDetectLandmarkArea implements Serializable {
        private static final long serialVersionUID = -8408233062526013462L;
        private int pointX;
        private int pointY;
    }

    @Data
    public class FaceDetectAttributes implements Serializable {
        private static final long serialVersionUID = -7100001277294483089L;
        private float anger;
        private float disgust;
        private float fear;
        private float happiness;
        private float neutral;
        private float sadness;
        private float surprise;
    }
}
